home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / util / cdity / ModeProSrc.lha / Prefs / MPP_Init.c < prev    next >
C/C++ Source or Header  |  1998-10-16  |  1KB  |  41 lines

  1. #include "mppexterns.h"
  2.  
  3. void SetupPenNodes(void)
  4. {
  5.   ULONG pen;
  6.   
  7.   NewList(&PenList);
  8.   for(pen=0;pen<NumDriPens;pen++)
  9.   {
  10. //    printf("%d\n",pen);
  11.     pennode[pen].PenNumber       =PenNumbers[pen];
  12.     pennode[pen].Pen_Node.ln_Name=PenNames[pen];
  13.     pennode[pen].Pen_Node.ln_Succ=pennode[pen].Pen_Node.ln_Pred=0;
  14.     AddTail(&PenList,(struct Node *)&pennode[pen]);
  15.   }  
  16. }
  17.  
  18.  
  19. void FixScreenModeNames(void)
  20. {
  21.   struct DefaultNode *dn;
  22.   STRPTR newname;
  23.  
  24.   ObtainSemaphore(&MPSem->NodeSem);
  25.   dn=(struct DefaultNode *)MPSem->PromotionList[PL_SCREENMODES].lh_Head;
  26.   while(dn->Def_Node.ln_Succ)
  27.   {
  28. //    printf("%8lx\n",dn->OrigDisplayID);
  29.     if(dn->OrigDisplayID!=0xffffffff)//                                                               (4.57.9)
  30.     {
  31.       if(newname=GetModeName(dn->OrigDisplayID))
  32.       {
  33.         FreeVec(dn->Def_Node.ln_Name);
  34.         dn->Def_Node.ln_Name=newname;
  35.       }
  36.     }
  37.     dn=(struct DefaultNode *)dn->Def_Node.ln_Succ;
  38.   }
  39.   ReleaseSemaphore(&MPSem->NodeSem);
  40. }
  41.